'use strict';
var L = Object.defineProperty;
var u = (t, s, e) =>
  s in t
    ? L(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e })
    : (t[s] = e);
var i = (t, s, e) => (u(t, typeof s != 'symbol' ? s + '' : s, e), e);
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const n = require('./identity.cjs'),
  O = require('./Node.cjs'),
  a = require('./toJS.cjs'),
  E = t => !t || (typeof t != 'function' && typeof t != 'object');
class o extends O.NodeBase {
  constructor(e) {
    super(n.SCALAR);
    i(this, 'value');
    this.value = e;
  }
  toJSON(e, r) {
    return r != null && r.keep ? this.value : a.toJS(this.value, e, r);
  }
  toString() {
    return String(this.value);
  }
}
i(o, 'BLOCK_FOLDED', 'BLOCK_FOLDED'),
  i(o, 'BLOCK_LITERAL', 'BLOCK_LITERAL'),
  i(o, 'PLAIN', 'PLAIN'),
  i(o, 'QUOTE_DOUBLE', 'QUOTE_DOUBLE'),
  i(o, 'QUOTE_SINGLE', 'QUOTE_SINGLE');
exports.Scalar = o;
exports.isScalarValue = E;
